package _15_generics._15_10;

/**
 * 数组的一种特殊行为： 可以像导出类型的数组赋予基类型的数据引用
 */
public class _01_CovariantArray {
    public static void main(String[] args) {
        Fruit[] fruits = new Apple[10];
        fruits[0] = new Apple();
        fruits[1] = new Jonathan();
        //运行时的 类型就是Apple[]类型
        //所以存入Fruit 或者Orange 会报错
        try {
            fruits[0] = new Fruit();
        }catch (Exception e){
            System.out.println(e);
        }
        try {
            fruits[0] = new Orange();
        }catch (Exception e){
            System.out.println(e);
        }
    }
}

class Fruit {}
class Apple extends Fruit{}
class Jonathan extends Apple{}
class Orange extends Fruit{}
